import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 74646
 * Date: 2022-01-23
 * Time: 15:44
 */
public class TestDemo2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int f1 = 1;
        int f2 = 1;
        int f3 = 0;
        for (int i = 3; i <=n ; i++) {
            f3 = f1 +  f2;
            f1 = f2;
            f2 = f3;
        }
        System.out.println(f3);
    }
}
//    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int num = scanner.nextInt();
//        while (num!=0){
//            System.out.print(num%10+" ");
//            num /= 10;
//        }
//    }
//}
//    public static int fib(int n){
//        if(n==1 || n==2){
//            return n;
//        }
//        return fib(n-1)+fib(n-2);
//    }
//    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int n = scanner.nextInt();
//        int ret = fib(n);
//        System.out.println(ret);
//    }
//}
//    public static int sumOne(int n){
//        if(n<10){
//            return n;
//        }
//            return n%10+sumOne(n/10);
//    }
//    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int num = scanner.nextInt();
//        int ret = sumOne(num);
//        System.out.println(ret);
//    }
//}
//    public static void everOne(int n){
//        if(n<10){
//            System.out.print(n%10+" ");
//        }else{
//            everOne(n/10);
//            System.out.print(n%10+" ");
//        }
//    }
//    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int number = scanner.nextInt();
//        everOne(number);
//    }
//}

//    public static int sumNum(int n) {
//        if(n==1)
//            return 1;
//        return n+sumNum(n-1);
//    }
//    public static void main(String[] args) {
//        int sum = sumNum(10);
//        System.out.println(sum);
//    }
//}

//    public static int fun(int n){
//        if(n==1){
//            return 1;
//        }
//        return n*fun(n-1);
//    }
//    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int n = scanner.nextInt();
//        int ret = fun(n);
//        System.out.println(ret);
//    }
//}

//    public static void main14(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int n = scanner.nextInt();
//        int f1 = 1;
//        int f2 = 2;
//        int f3 = 0;
//        System.out.println(f1);
//        System.out.println(f2);
//        for (int i = 3; i <= n; i++) {
//            f3 = f1 + f2;
//            f1 = f2;
//            f2 = f3;
//            System.out.println(f3);
//        }
//    }
//
//
//    public static int fib(int n) {
//        if (n == 1 || n == 2) {
//            return n;
//        }
//        return fib(n - 1) + fib(n - 2);
//    }
//
//    public static void main13(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int n = scanner.nextInt();
//        for (int i = 1; i <= n; i++) {
//            int ret = fib(i);
//            System.out.println(ret);
//        }
//    }
//
//
//
//    public static int everOne(int n) {
//        if (n < 10) {
//            return n;
//        }
//        return everOne(n / 10) + n % 10;
//    }
//
//    public static void main12(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int n = scanner.nextInt();
//        System.out.println(everOne(n));
//    }
//
//
//    public static int factor(int n) {
//        System.out.println("函数开始, n = " + n);
//        if (n == 1) {
//            System.out.println("函数结束, n = 1 ret = 1");
//            return 1;
//        }
//        int ret = n * factor(n - 1);
//        System.out.println("函数结束, n = " + n + " ret = " + ret);
//        return ret;
//    }
//
//    public static void main11(String[] args) {
//        int n = 5;
//        int ret = factor(n);
//        System.out.println("ret = " + ret);
//    }
//
//
//    public static int fun(int x) {
//        if (x == 1) {
//            return 1;
//        }
//        return x * fun(x - 1);
//    }
//
//    public static void main10(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int n = scanner.nextInt();
//        System.out.println(fun(n));
//    }
//
//    public static int sum(int x) {
//        if (x < 10) {
//            return x;
//        }
//        return x % 10 + sum(x / 10);
//    }
//
//    public static void main9(String[] args) {
//        System.out.println(sum(123));
//    }
//    public static void num(int n){
//        if(n<10){
//            System.out.println(n%10);
//        }else {
//            num(n/10);
//            System.out.println(n%10);
//        }
////       if(n>9){
////           num(n/10);
////       }
////        System.out.println(n%10);
//    }
//    public static void main8(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int n = scanner.nextInt();
//        num(n);
//    }
//
//    public static int fun1(int x){
//        if(x==1)
//            return 1;
//        return  x+fun1(x-1);
//    }
//    public static void main7(String[] args) {
//        System.out.println(fun1(10));
//
//    }
//
//    public static int max3(int x, int y, int z) {
//        return max2(max2(x, y), z);
//    }
//
//    public static int max2(int x, int y) {
//        return x > y ? x : y;
//    }
//
//    public static void main6(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int a = scanner.nextInt();
//        int b = scanner.nextInt();
//        System.out.println("两个数中的最大值：" + max2(a, b));
//        System.out.println("三个数中的最大值：" + max3(a, b, 10));
//    }
//
//
//    public static void main5(String[] args) {
//        int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//        int left = 0;
//        int right = arr.length - 1;
//        while (left < right) {
//            while (left < right && arr[left] % 2 != 0) {
//                left++;
//            }
//            while (left < right && arr[right] % 2 == 0) {
//                right--;
//            }
//            int temp = arr[left];
//            arr[left] = arr[right];
//            arr[right] = temp;
//        }
////        while (left < right) {
////            if (arr[left] % 2 != 0) {
////                left++;
////            } else if (arr[right] % 2 == 0) {
////                right--;
////            }
////            int temp = arr[left];
////            arr[left] = arr[right];
////            arr[right] = temp;
////        }
//        for (int i = 0; i < arr.length; i++) {
//            System.out.print(arr[i] + " ");
//        }
//    }
//
//    public static void main4(String[] args) {
//        int[] arr1 = {5, 5, 7, 9, 9, 6, 6};
//        int number = arr1[0];
//        for (int i = 1; i < arr1.length; i++) {
//            number = number ^ arr1[i];
//        }
//        System.out.println(number);
//    }
//
//
//    public static void main3(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int num = scanner.nextInt();
//        while (num!=0){
//            System.out.print(num%10+" ");
//            num/=10;
//        }
//    }
//
//    public static void printOne(int n) {
//        System.out.print("奇数位：");
//        for (int i = 31; i >= 1; i -= 2) {
//            System.out.print(((n >> i) & 1) + " ");
//        }
//        System.out.println();
//        System.out.print("偶数位：");
//        for (int i = 30; i >= 0; i -= 2) {
//            System.out.print(((n >> i) & 1) + " ");
//        }
//    }
//
//    public static void main2(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int num = scanner.nextInt();
//        printOne(num);
//    }
//
//    public static void fun_one2(int n){
//        int count = 0;
//        while (n!=0){
//            //n每次按位与(n-1),都会少一个1
//            //最终等于0是，就没有1了
//            n = n&(n-1);
//            count++;
//        }
//        System.out.println(count);
//    }
//    public static void fun_one(int n){
//        int count=0;
//        while (n!=0){
//            if((n&1)==1){
//                count++;
//            }
//            n=n>>>1;
//        }
//        System.out.println(count);
//    }
//    public static void main1(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int num = scanner.nextInt();
//        fun_one(num);
//        fun_one2(num);
//    }
//}
